Modulation system

ABSTRACT

A modulation system and method for enabling communications across a noisy media environment is configured to employ a dynamically reconfigurable QAM modulation scheme and adjust transmission characteristics in response to information received in order to modify performance of system components.

CROSS-REFERENCE TO RELATED APPLICATION(S)

The present application is a Continuation of U.S. application Ser. No.14/875,641, filed on Oct. 5, 2015, which claims priority to U.S.Application No. 62/059,593, filed Oct. 3, 2014. The entire teachings ofthe above applications are hereby expressly incorporated by referenceherein.

FIELD OF THE INVENTION

The present disclosure relates to modulation and signal optimization ofcommunications across a noisy media environment.

BACKGROUND

Communications devices desire to maintain greater data rates.Maintaining greater data rates may be problematic as noise can interruptand/or degrade performance.

SUMMARY

There is a need for a system and methods that maintain greater datarates while reducing problematic noise that interrupts and degradesperformance. The present invention is directed toward further solutionsto address this need, in addition to having other desirablecharacteristics. Specifically, a system and method of enablingcommunications across a noisy media environment are provided. Inaccordance with one exemplary embodiment, the system and method includea transmitting modem and at least one receiving modem to communicateover a transmission medium. The system uses the transmitting modem totransmit a signal comprising data packets with designated transmissioncharacteristics. Signal processing circuitry related to the at least onereceiving modem processes the signal comprising data packets withdesignated transmission characteristics. The at least one receivingmodem, in response to processing transmitted data packets, sends anacknowledgment message comprising information indicating a measure ofperformance for transmitted data packets. The system adjusts,dynamically, the at least one receiving modem and the designatedtransmission characteristics in response to the information received inthe acknowledgement message to modify performance of the transmittingmodem and the at least one receiving modem to perform additionalprocessing on the signal comprising data packets and subsequent receivedsignals comprising data packets.

In accordance with aspects of the prevent invention, the designatedtransmission characteristics can comprise symbol configuration andtransmitter gain.

In accordance with aspects of the prevent invention, the informationindicating a measure of performance for transmitted data packets cancomprise one or more of the group consisting of the number of blockscorrectly received, the bit error rate, and any other industry standardmeasure of performance related to forward error correction includingcombinations thereof.

In accordance with aspects of the prevent invention, the acknowledgementmessage can further comprise one or more of the group consisting of anindication that a designated symbol configuration should not be used, anindication that a designated symbol configuration should be used, and anindication that a designated symbol configuration is supported.

In accordance with aspects of the prevent invention, the system canreceive the acknowledgement messages that include a sequence of multiplepackets indicating an extent to which the sequence of multiple packetssupport the designated symbol configuration.

In accordance with aspects of the prevent invention, the system canidentify a performance range comprising: using multiple symbolconfigurations, and identify which of the multiple symbol configurationscan be supported with a threshold degree of performance.

In accordance with aspects of the prevent invention, the system canadjust, dynamically, the at least one receiving modem and the designatedtransmission characteristics further comprises configuring the at leastone receiving modem and the transmitting modem to employ a designatedQAM modulation scheme based on a performance range that comprisesspecifying the designated QAM modulation scheme in a header of a packet.The system can also adjust, dynamically, the at least one receivingmodem and the designated transmission characteristics further comprisesconfiguring the at least one receiving modem and the transmitting modemto employ a designated QAM modulation scheme based on a performancerange that comprises specifying a designated QAM modulation scheme inpacket.

In accordance with aspects of the prevent invention, the system canidentify a performance range by identifying a degree of impairment. Thesystem can further configure the transmitting modem to not transmit onimpaired frequencies.

In accordance with one exemplary embodiment, a method of modifyingcommunications performance across a noisy media environment is provided.The method configures a modem to communicate over a transmission mediumand receive a signal containing data that is transmitted by atransmitting system. The system dynamically reconfigures the modem andtransmission characteristics of the transmitting system to performadditional processing on a received signal containing data andsubsequent received signals containing data by constructing a frequencydomain equalizer comprising frequency domain coefficients from areceived preamble of a received signal and a known transmitted preambleof a transmitted signal and determining, a priori using the knowntransmitted preamble of the transmitted signal, a filter applied in afrequency domain to the calculated frequency domain coefficients of thefrequency domain equalizer to modify performance of the frequency domainequalizer.

In accordance with aspects of the prevent invention, the receivedpreamble of the received signal and the known transmitted preamble ofthe transmitted signal can each comprise a preamble at a beginning of adata frame. Also the received preamble of the received signal and theknown transmitted preamble of the transmitted signal can each comprise apreamble at a beginning of a data packet.

In accordance with aspects of the prevent invention, modifyingperformance of the frequency domain equalizer can comprise zeroinglowest power frequency points, relative to other portions of a frequencyband of the transmitted signal, corresponding to a higher part of thefrequency band of the transmitted signal.

In accordance with aspects of the prevent invention, the filter can be awindow applied by a multiplication operation in the frequency domain.The filter can also be applied by a convolution operation in thefrequency domain.

In accordance with aspects of the prevent invention, the filter can be afinite impulse response (FIR) filter applied by a convolution operationin the frequency domain, or the filter can be an infinite impulseresponse (IIR) filter applied by a convolution operation in thefrequency domain.

In accordance with one exemplary embodiment, a system for enablingcommunications across a noisy media environment is provided. The systemcomprises a transmitting modem configured to communicate over atransmission medium, and the transmitting modem transmits a signalcomprising data packets with designated transmission characteristics.The system includes at least one receiving modem configured tocommunicate over the transmission medium and digital signal processingcircuitry related to the at least one receiving modem that is configuredto process the signal comprising data packets with designatedtransmission characteristics. The system receives, from the at least onereceiving modem in response processing transmitted data packets, anacknowledgment message comprising information indicating a measure ofperformance for transmitted data packets and adjusts, dynamically, theat least one receiving modem and the designated transmissioncharacteristics in response to the information received in theacknowledgement message to modify performance of the transmitting modemand the at least one receiving modem to perform additional processing onthe signal comprising data packets and subsequent received signalscomprising data packets.

In accordance with aspects of the prevent invention, the designatedtransmission characteristics can comprise symbol configuration andtransmitter gain, and the information indicating a measure ofperformance for transmitted data packets comprises one or more of thegroup consisting of the number of blocks correctly received, the biterror rate, and any other industry standard measure of performancerelated to forward error correction including combinations thereof.

BRIEF DESCRIPTION OF THE FIGURES

These and other characteristics of the present invention will be morefully understood by reference to the following detailed description inconjunction with the attached drawings, in which:

FIGS. 1, 2, 3, 4, 5, 6, 7, 8, 9 and 10 represent symbol representationbased on the in-phase value and the quadrature value;

FIGS. 11 and 12 are flow charts of a process by which noisy mediacommunications may be exchanged; and

FIG. 13 is a diagram of two communications devices configured toexchange communications over a network.

DETAILED DESCRIPTION

An illustrative embodiment of the present invention relates to datacommunications over noisy media (communications channels) withfrequency-dependent attenuation. The received signal may be impaired byboth noise and attenuation, which can vary over both time and frequency.For example, the noisy media communications environment may include apowerline communications system that operates across a 200 km subseacable or umbilical with a useable frequency band below 10 to 20 kHz.Alternatively, for shorter distances, such as 10 to 20 km, the useablefrequency band may be up to 500 kHz to 800 kHz. The ability of apowerline modem to account for and adjust to extreme noise levels,significant signal attenuation due to cable distance andcharacteristics, and diminished communications capability and changingcommunications performance, due, for example, to electrical devicesconnected to the powerline, may depend on an ability of a modem or themodems comprising the powerline communications system to select amodulation scheme best-suited to the network environment. For example, amodem may monitor channel performance and switch between various formsof QAM modulation of increasing complexity and increasing number of bitsper symbol and consequently increasing numbers of symbols, such as BPSKprogressing to QPSK progressing to 64 symbols per symbol set with 6 bitsper symbol, namely, 2̂6 symbols which is 64-QAM or 256 symbols per symbolset with 8 bits per symbol, namely, 2̂8 symbols which is 256-QAM (FIG.10), or other M-ary modulation schemes.

A desirable feature of a data communications system is to maximize thedata throughput. Complex modulation with multiple bits per symbol, suchas quadrature amplitude modulation (QAM), can be used to increase thethroughput. The particular bit sequence determines which symbol from aset of symbols is transmitted. The receiver needs to determine whichsymbol from the set of symbols was transmitted. The set of symbols formsa constellation diagram. Under ideal conditions, the demodulatordetermines the point on the constellation diagram where the receivedsymbol corresponds to the transmitted symbol. However, due to noise andfrequency-dependent attenuation on the channel, the received symbolwould be located at a distance from any transmitted symbol point on theconstellation diagram. For each received symbol, the demodulatorcomputes the distance between the received symbol and the surroundingsymbols. The constellation symbols are sorted by their distance to thereceived symbol. The constellation is arranged using gray coding suchthat two constellation points that are next to each other will have onebit difference. In some configurations of constellations, there may bemore than one bit difference. The XOR of the two closest constellationsymbol points to the received symbol point gives the weakest bitposition or positions of the received symbol to be potentiallydesignated an erasure position or erasure positions for a decodingengine, such as a forward error correction (FEC) decoding engineimplementing soft error correction. The two closest constellation pointsto the received symbol point are logically combined using an XORoperation. Note that using a gray code may result in more than one bitdifference. A weight may be assigned to those bits with the weakest bitposition. Identifying one or more bits as having the most uncertaintybased on the distance from where the received symbol point is locatedrelative to the nearest two constellation points of the transmittedconstellation diagram may be used as information to an error correctingengine to correct data payloads that have one or more errors. In oneconfiguration, an extended binary Golay code, G24 is used to encode 12bits of data in a 24-bit word. Using this Golay code, a receiving systemmay use FEC using a soft error correction engine to correct in a 24-bitcode word (1) 3 hard errors, and 1 soft error, (2) 2 hard errors and 3soft errors, (3) 1 hard error and 5 soft errors, or (4) 0 hard errorsand 7 soft errors, The 24-bit Golay code words are constructed basedupon concatenation of multiple symbols. The N-most uncertain points inany received Golay code word formed by a concatenation of receivedsymbols can then be identified in order to provide error correctionusing the Golay code.

More precisely, a weight to the uncertainty about the bit or bits toerase, i.e., this weakest bit position or positions of the symbol, canalso be assigned. The Euclidean distance on the 2-dimensionalconstellation diagram between the calculated location of the receivedsymbol and any known transmitted symbol can be calculated. The ratio ofthe two distances to the two closest constellation points, that is, thedistance between the received symbol and the closest constellationsymbol/the distance between the received symbol and the next closestconstellation symbol may be used to represent the relative uncertaintyfor the bit position or positions of the symbol which is designated asthe potential erasure position or positions. The most uncertain is 1(equidistant), the least uncertain is 0 (the received symbol correspondsto a constellation symbol). The weight of a bit position or positions tobe potentially erased may be set to represent smallest distance (or nextsmallest distance) such that is represented as value that is less thanor equal to 1. This ratio scales the uncertainty so the erasure bitpositions can be ranked over a number of received symbols. This approacheffectively determines which bit position or positons of each symbolcould be an erasure position or positions and assigns a weight to thiserasure position or positions.

A frequency domain equalizer can be constructed from a received signaland knowledge of the transmitted signal. For those a priori knownportions of the frequency band or spectrum of the transmitted signalthat contain a small amount of power relative to other portions of thefrequency band of the transmitted signal, zeroing these lowest powerfrequency points of the constructed frequency domain digital equalizerimproves the performance of the equalizer. This may often be a higherpart of the frequency band above the first one or few lobes of thetransmitted signal spectrum.

A channel transfer function and in turn a frequency domain equalizer canbe constructed using a known transmitted preamble and the receivedpreamble at the beginning of a data frame or packet, which allow thereceiver to correct for channel impairments. Even using an equalizer,the receiver needs to make a determination as to the suitability of aspecified QAM scheme for a designated channel in a single channel ormultichannel transmission system, for example, after determining theextent to which the equalizer can correct for channel impairments.Depending on the channel impairments, the transmitting system may beconfigured to alter the complexity of the symbol set (e.g., by going to64-QAM from 256-QAM).

Further, if performance on a given frequency band drops below athreshold degree of performance, the transmitting system may beconfigured to a different symbol set over the whole band or in thatfrequency band, or even to avoid using that frequency band in futurecommunications. For example, the receiver may be monitoring the extentto which retransmissions are required and/or the extent to which FECcomponents have to make corrections. Exceeding a threshold amount ofretransmissions and/or performing a threshold amount of error correctionmay be indicative of changes in the channel transfer function that waspreviously developed and/or established.

The calculated filter coefficients of the frequency domain equalizer canoften be corrupted from the optimal values due to noise, signalattenuation or the long impulse response of the channel. In thefrequency domain, these filter coefficients can be further altered ormodified, for example by being smoothed and the channel long impulseresponse truncated by means of a filter such as an FIR filter or IIRfilter, to improve the communications performance.

To obtain the best communications performance, it is necessary to choosethe optimal channel loading, namely which modulation symbol set shouldbe used, as in M-ary modulation, for example, in QAM modulation, whichQAM modulation should be used. To optimize throughput, a modulationscheme is chosen with the largest number of bits per symbol providing anacceptable error rate. Also, due to the dynamic range of any receiverand the better performance of the receiver if the received signal iswithin its dynamic range or a particular amplitude region, it is oftenbeneficial to adjust the receiver gain and even the transmitter gain.

Forward error correcting codes are typically applied to the transmitteddata to achieve a particular bit error rate. The forward errorcorrection (FEC) is typically chosen to guarantee an error rate that canhandle possible worst-case channel conditions.

However, in dynamic channels, there will be times when the correctingbounds of the FEC are exceeded. The data can be transmitted in framesimposed of blocks incorporating both forward error correction and errordetection, which can be acknowledged by the receiver using anerror-detecting code to determine which blocks were not corrected by theFEC. This allows for a low level link protocol that can achieve a lowerbit error rate through retransmission by the transmitter of any blocksthat were unable to be corrected by the FEC, as determined byacknowledgements received from the receiver. Across a wideband,multi-channel (namely, multiple subchannels), multi- frequencytransmission system, a modem may be configured to transmit informationon those channels using modulation for each of the subchannels suitablefor the level of signal impairment in each of the subchannels. OptimalQAM schemes can be coordinated so the transmitter and/or receiver canprocess information for the transmitter to determine what QAM modulationto use.

In such acknowledged communications, the receiver acknowledges whichblocks of a transmitted frame or packet are correctly received sendingacknowledgements known as ACKs or NAKs to the transmitter. From theinformation on the number of blocks correctly received or the bit errorrate or any other measure of receiver performance in the receivedacknowledgment, the transmitter can adaptively set transmitter gain ordetermine the optimal modulation symbol set, for example, by using thenumber of block errors reported by the receiver in an ACK or a NAK as ameasure to determine the most suitable modulation.

In one configuration, the acknowledgement message is configured toinstruct the transmitter which QAM scheme to use on a specified channelin a multiband transmission system. In another configuration, theacknowledgement message may indicate bit error rate for a sequence oftransmissions or the extent number of data blocks or frames or packetsthat were received without error.

The receiver may also need to set the gain of the receiver or determinewhich communications paths or channels to use. As with the transmitterthe receiver gain or path used can be adaptively determined by thenumber or rate of bit, code word or block errors contained in a receivedframe or packet.

The error rate may vary with the load, the performance and noisecharacteristics of connected equipment, the temperature, and/or othercriteria that change the transmission characteristics. For example, someof the channels may be using 64-QAM (6 bits/symbol) scheme in anindustrial factory prior to activating a particular piece of equipment.Activating a particular piece of equipment, e.g., a variable frequencydrive (VFD), may result in result in signal degradation to the extentthat only 4-bits/symbols can be supported at a desired performance levelor using designated frequencies. For example, the variable frequencydrive motor may be intermittently active and impose greater noiseconditions when active. The modems may switch from 64-QAM to 16-QAM inresponse to detecting activation of the VFD drive.

The context of noisy media and the applicability of one or more QAMschemes may vary between different application environments. Forexample, a 200 km subsea cable may operate below 10 to 20 kHz in a64-QAM scheme. In contrast, a shorter length mining cable may beconfigured to operate below 500 kHz using a 256 QAM scheme. Still, anindustrial manufacturing facility may operate below 700, 800, or 900kHz. In all these environments, both frequency-dependent attenuation andnoise due to connected devices, such as motors and power supplies createa noisy media environment necessitating the system described above.

FIGS. 1-10, wherein like parts are designated by like reference numeralsthroughout, illustrate symbol representation based on the in-phase valueand the quadrature value. FIGS. 11 and 12 are flow charts of a processby which noisy media communications may be exchanged. In FIG. 11, flowchart 1100 illustrates a method of enabling communications across anoisy media environment. For example, a collection of modems may beconfigured to exchange control information across a subterranean minewith cables that permeate power equipment distributed throughout themine. Initially, a modem is configured to communicate over a noisy mediatransmission medium using a format with data transmitted in packets(1110). The modem may be configured to connect to a power circuit andexchange communications across a specified portion of the spectrum onthe power line. In one configuration, the modem dynamically discoversthe frequency characteristics of the power line and then coordinateswith other modems to use the frequencies best suited to achieve desireddata rates while also achieving better performance in a noisy mediaenvironment.

Using the modem, a performance range for the noisy media transmissionmedium is identified by sending data packets that employ a designatedsymbol configuration and receiving, from a remote modem and in responseto sending the data packets, an acknowledgement message (1120). Forexample, a transmitting modem may be configured to test a power line bysending a sequence of symbols at different frequencies and measure theperformance of the power line in supporting a particular frequency range(as described above). A receiving modem may respond with anacknowledgement message (e.g., an ACK message) that describes theperformance characteristics of the power line as measured by thereceiver (e.g., a specified BER). Negative acknowledgement messages alsomay be used as acknowledgement messages. For example, receiving theacknowledgement message may include receiving a negative acknowledgementmessage indicating that the designated symbol configuration should notbe used. In one configuration, receiving the acknowledgement messageincludes receiving an acknowledgement message indicating that thedesignated symbol configuration should be used. For example, thereceiving modem may make a determination that QAM 256 should be used asa result of evaluating messages sent by the transmitting system.Alternatively or in addition, receiving the acknowledgement message mayinclude receiving an acknowledgement message indicating that thedesignated symbol configuration is supported. The transmitted then mayconsider the application environment and select a symbol scheme based onconsideration of both the supported symbols and the applicationrequirements. Receiving the acknowledgement message also may includereceiving an acknowledgement message for a sequence of multiple packetsindicating an extent to which the sequence of multiple packets supportthe designated symbol configuration.

Identifying the performance range may include using multiple symbolconfigurations, and identifying which of the multiple symbolconfigurations can be supported with a threshold degree of performance(e.g., BER, number of corrections, threshold number of retransmissions).

Based on identifying the performance range, the modem is configured toemploy a designated M-ary modulation scheme (or symbol modulationscheme) (1130). Configuring the modem to employ the designated QAMmodulation scheme based on the performance range may include specifyingthe designated QAM modulation scheme in a header of a packet. Thisallows a receiver to process the information received in the payload byrouting the received information to the appropriate logic in generatingthe logical symbol constellation map. Specifying the designated QAMmodulation scheme may include specifying the designated QAM modulationscheme in packet. Alternatively or in addition, the transmitter may beconfigured to not transmit on impaired frequencies.

FIG. 12 is a flow chart 1200 for a method of generating a configurationmessage for a Forward Error Correction processor. For example, flowchart 1200 may be used on a digital signal processor (DSP) that is usedto process a signal received from a modem on a subsea cable. Theconfiguration message may be used to perform additional processing on areceived message so that messages with less than a threshold degree oferrors may be recovered.

Initially, using a modem in a noisy media network, a block ofinformation with a symbol that has been encoded using an M-arymodulation scheme is received (1210). For example, a message using a QAM256 may be received. For each received symbol, identifying a distancebetween an actual location of a symbol on the plot and referencelocations on the plot at which the symbols are known to have beentransmitted (1220). This may be done by calculating a gray code. Asdescribed above, a rank ordered list of such distances for each receivedsymbol is generated (1230).

A threshold number of bits in the received symbol based on the distanceof the received symbol from the rank ordered list as having the mostuncertainty (1240). Finally, a configuration message is generateddesignating the threshold number of bits as having the most uncertainty(1250). For example, a DSP may configure error correction logic to treatdesignated bits as representing the most likely uncertainty and performerror correction based on the designated uncertainty.

FIG. 13 is a block diagram of computing devices 1300, 1350 that may beused to implement the systems and methods described in this document, aseither a client or as a server or plurality of servers. Generally, avariety of communications and/or computing gear may be configured tointerface with different remote systems in a noisy media environment. Insome configurations, the devices described herein may be coupled tonoisy media environments and used in a variety of contexts fromindustrial control equipment (e.g., deep sea drilling gear, miningcontrollers). In those configurations, there may be limited computingresources on remote systems and the remote station may be configured tosupport minimal control systems in austere environments. In otherconfigurations, computing systems may be configured to interface withone another across these noisy media environments. FIG. 13 is configuredto illustrate those environments where computing devices are configuredto interface across the noisy media network. Generally, computing device1300 is intended to represent various forms of digital computers.Computing device 1350 is intended to represent various remote systemsand/or controllers.

Computing device 1300 may include a processor 1302, memory 1304, astorage device 1306, a high-speed interface 608 connecting to memory1304 and high-speed expansion ports 1310, and a low speed interface 1312connecting to low speed bus 1314 and storage device 1306. Each of thecomponents 1302, 1304, 1306, 608, 1310, and 1312, are interconnectedusing various busses, and may be mounted on a common motherboard or inother manners as appropriate. The processor 1302 can processinstructions for execution within the computing device 1300, includinginstructions stored in the memory 1304 or on the storage device 1306 todisplay graphical information for a GUI on an external input/outputdevice, such as display 1316 co-hyperlinked to high speed interface1308. In other implementations, multiple processors and/or multiplebuses may be used, as appropriate, along with multiple memories andtypes of memory. Also, multiple computing devices 1300 may be connected,with each device providing portions of the necessary operations (e.g.,as a server bank, a group of blade servers, or a multi-processorsystem).The memory 1304 stores information within the computing device1300. In one implementation, the memory 1304 is a volatile memory unitor units. In another implementation, the memory 1304 is a non-volatilememory unit or units. The memory 1304 may also be another form ofcomputer-readable medium, such as a magnetic or optical disk.

The storage device 1306 is capable of providing mass storage for thecomputing device 1300. In one implementation, the storage device 1306may be or contain a computer-readable medium, such as a floppy diskdevice, a hard disk device, an optical disk device, or a tape device, aflash memory or other similar solid state memory device, or an array ofdevices, including devices in a storage area network or otherconfigurations. A computer program product can be tangibly embodied inan information carrier. The computer program product may also containinstructions that, when executed, perform one or more methods, such asthose described above. The information carrier is a computer- ormachine-readable medium, such as the memory 1304, the storage device1306, or memory on processor 1302.

The high speed controller 1308 manages bandwidth-intensive operationsfor the computing device 1300, while the low speed controller 1312manages lower bandwidth intensive operations. Such allocation offunctions is exemplary only. In one implementation, the high-speedcontroller 1308 is co-hyperlinked to memory 1304, display 1316 (e.g.,through a graphics processor or accelerator), and to high-speedexpansion ports 1310, which may accept various expansion cards (notshown). In the implementation, low-speed controller 1312 isco-hyperlinked to storage device 1306 and low-speed expansion port. Thelow-speed expansion port, which may include various communication ports(e.g., USB, Bluetooth, Ethernet, wireless Ethernet) may be co-hyperlinked to one or more input/output devices, such as a keyboard, apointing device, microphone/speaker pair, a scanner, or a networkingdevice such as a switch or router, e.g., through a network adapter. Thecomputing device 1300 may be implemented in a number of different forms,as shown in the figure. For example, it may be implemented as a standardserver 1320, or multiple times in a group of such servers. It may alsobe implemented as part of a rack server system 1324. In addition, it maybe implemented in a personal computer such as a laptop computer 1322 oran industrial controller (not shown). Alternatively, components fromcomputing device 1300 may be combined with other components in a mobiledevice (not shown), such as device 1350. Each of such devices maycontain one or more of computing device 1300, 1350, and an entire systemmay be made up of multiple computing devices 1300, 1350 communicatingwith each other.

The computing device 1300 may be implemented in a number of differentforms, as shown in the figure. For example, it may be implemented as anindustrial server 1320. It may also be implemented as part of a rackserver system 1324. In addition, it may be implemented in a personalcomputer such as a laptop computer 1322. Alternatively, components fromcomputing device 1300 may be combined with other components in a mobiledevice (not shown), such as device 1350. Each of such devices maycontain one or more of computing device 1300, 1350, and an entire systemmay be made up of multiple computing devices 1300, 1350 communicatingwith each other.

Computing device 1350 may include a processor 1352, memory 1364, and aninput/output device such as a display 1354, a communication interface1366, and a transceiver 1368, among other components. The device 1350may also be provided with a storage device, such as a microdrive orother device, to provide additional storage. Each of the components1350, 1352, 1364, 1354, 1366, and 1368, are interconnected using variousbuses, and several of the components may be mounted on a commonmotherboard or in other manners as appropriate.

The processor 1352 can execute instructions within the computing device1350, including instructions stored in the memory 1364. The processormay be implemented as a chipset of chips that include separate andmultiple analog and digital processors. Additionally, the processor maybe implemented using any of a number of architectures. For example, theprocessor 1310 may be a CISC (Complex Instruction Set Computers)processor, a RISC (Reduced Instruction Set Computer) processor, or aMISC (Minimal Instruction Set Computer) processor. The processor mayprovide, for example, for coordination of the other components of thedevice 1350, such as control of user interfaces, applications run bydevice 1350, and wireless communication by device 1350.

Processor 1352 may communicate with a user through control interface1358 and display interface 1356 co-hyperlinked to a display 1354. Thedisplay interface 1356 may comprise appropriate circuitry for drivingthe display 1354 to present graphical and other information to a user,such as controlling industrial equipment that is local and/or remote.The control interface 1358 may receive commands from a user and convertthem for submission to the processor 1352. In addition, an externalinterface 1362 may be provide in communication with processor 1352, soas to enable near area communication of device 1350 with other devices.External interface 1362 may provide, for example, for wiredcommunication in some implementations, or for wireless communication inother implementations, and multiple interfaces may also be used.

The memory 1364 stores information within the computing device 1350. Thememory 1364 can be implemented as one or more of a computer-readablemedium or media, a volatile memory unit or units, or a non-volatilememory unit or units. Expansion memory 1374 may also be provided andconnected to device 1350 through expansion interface 1372, which mayinclude, for example, a SIMM (Single In Line Memory Module) cardinterface. Such expansion memory 1374 may provide extra storage spacefor device 1350, or may also store applications or other information fordevice 1350. Specifically, expansion memory 1374 may includeinstructions to carry out or supplement the processes described above,and may include secure information also. Thus, for example, expansionmemory 1374 may be provide as a security module for device 1350, and maybe programmed with instructions that permit secure use of device 1350.In addition, secure applications may be provided via the SIMM cards,along with additional information, such as placing identifyinginformation on the SIMM card in a non-hackable manner.

The memory may include, for example, flash memory and/or NVRAM memory,as discussed below. In one implementation, a computer program product istangibly embodied in an information carrier. The computer programproduct contains instructions that, when executed, perform one or moremethods, such as those described above. The information carrier is acomputer- or machine-readable medium, such as the memory 1364, expansionmemory 1374, or memory on processor 1352 that may be received, forexample, over transceiver 1368 or external interface 1362.

Device 1350 may communicate remotely through communication interface1366, which may include digital signal processing circuitry wherenecessary. Communication interface 1366 may provide for communicationsunder various modes or protocols, such as powerline networks, wirelessnetworks, other noisy media networks, among others. Such communicationmay occur, for example, through radio-frequency transceiver 1368, whichcan be coupled to a noisy medium. In addition, an inertial navigationsystem module 1370 may provide additional navigation- andlocation-related wireless data to device 1350, which may be used asappropriate by applications running on device 1350. Device 1350 may alsocommunicate audibly using audio codec 1360, which may receive spokeninformation from a user and convert it to usable digital information.Audio codec 1360 may likewise generate audible sound for a user, such asthrough a speaker, e.g., in a handset of device 1350. Such sound mayinclude sound from voice telephone calls, may include recorded sound andmay also include sound generated by applications operating on device1350.

The computing device 1350 may be implemented in a number of differentforms, as shown in the figure.

Various implementations of the systems and methods described here can berealized in digital electronic circuitry, integrated circuitry,specially designed ASICs (application specific integrated circuits),computer hardware, firmware, software, and/or combinations of suchimplementations. These various implementations can includeimplementation in one or more computer programs that are executableand/or interpretable on a programmable system including at least oneprogrammable processor, which may be special or general purpose,co-hyperlinked to receive data and instructions from, and to transmitdata and instructions to, a storage system, at least one input device,and at least one output device. These computer programs (also known asprograms, software, software applications or code) include machineinstructions for a programmable processor, and can be implemented in ahigh-level procedural and/or object-oriented programming language,and/or in assembly/machine language. As used herein, the terms“machine-readable medium” “computer-readable medium” refers to anycomputer program product, apparatus and/or device (e.g., magnetic discs,optical disks, memory, Programmable Logic Devices (PLDs)) used toprovide machine instructions and/or data to a programmable processor,including a machine-readable medium that receives machine instructionsas a machine-readable signal. The term “machine-readable signal” refersto any signal used to provide machine instructions and/or data to aprogrammable processor. To provide for interaction with a user, thesystems and techniques described here can be implemented on a computerhaving a display device (e.g., a CRT (cathode ray tube) or LCD (liquidcrystal display) monitor) for displaying information to the user and akeyboard and a pointing device (e.g., a mouse or a trackball) by whichthe user can provide input to the computer. Other kinds of devices canbe used to provide for interaction with a user as well; for example,feedback provided to the user can be any form of sensory feedback (e.g.,visual feedback, auditory feedback, or tactile feedback); and input fromthe user can be received in any form, including acoustic, speech, ortactile input.

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other. Anumber of embodiments have been described. Nevertheless, it will beunderstood that various modifications may be made without departing fromthe spirit and scope of the invention. In addition, the logic flowsdepicted in the figures do not require the particular order shown, orsequential order, to achieve desirable results. In addition, other stepsmay be provided, or steps may be eliminated, from the described flows,and other components may be added to, or removed from, the describedsystems. Accordingly, other embodiments are within the scope of thefollowing claims.

What is claimed is:
 1. A method of enabling communications , the methodcomprising: configuring a transmitting modem and at least one receivingmodem to communicate over a media network comprising a transmissionmedium; transmitting, using the transmitting modem, a signal comprisingdata packets with designated transmission characteristics; processing,using digital signal processing circuitry related to the at least onereceiving modem, the signal comprising data packets with designatedtransmission characteristics; receiving, from the at least one receivingmodem in response to processing transmitted data packets, anacknowledgment message comprising information indicating a measure ofperformance for transmitted data packets; and adjusting, dynamically,the designated transmission characteristics and the transmitting modemconfiguration in response to the information received in theacknowledgement message to modify performance of the transmitting modemand the at least one receiving modem across the media network comprisingthe transmission medium to perform further processing on one or more ofthe group consisting of the signal, data packets and data frames andsubsequently continue to perform processing on one or more of the groupconsisting of received signals, data frames and data packets.
 2. Themethod of claim 1, wherein the designated transmission characteristicscomprise symbol configuration and transmitter gain.
 3. The method ofclaim 1, wherein the information indicating a measure of performance fortransmitted data packets comprises one or more of the group consistingof the number of blocks correctly received, the bit error rate, and anyother industry standard measure of performance related to forward errorcorrection including combinations thereof.
 4. The method of claim 1,wherein the acknowledgement message further comprises one or more of thegroup consisting of an indication that a designated symbol configurationshould not be used, an indication that a designated symbol configurationshould be used, and an indication that a designated symbol configurationis supported.
 5. The method of claim 1, wherein receiving theacknowledgement message includes receiving an acknowledgement messagefor a sequence of multiple packets indicating an extent to which thesequence of multiple packets support the designated symbolconfiguration.
 6. The method of claim 1, further comprising identifyinga performance range comprising: using multiple symbol configurations,and identifying which of the multiple symbol configurations can besupported with a threshold degree of performance.
 7. The method of claim1, wherein adjusting, dynamically, the designated transmissioncharacteristics and the transmitting modem configuration furthercomprises configuring the at least one receiving modem and thetransmitting modem to employ a designated QAM modulation based on aperformance range that comprises specifying the designated QAMmodulation scheme in a header of a packet.
 8. The method of claim 1,wherein adjusting, dynamically, the at least one receiving modem and thedesignated transmission characteristics further comprises configuringthe at least one receiving modem and the transmitting modem to employ adesignated QAM modulation scheme based on a performance range thatcomprises specifying a designated QAM modulation scheme in packet. 9.The method of claim 1, further comprising identifying a performancerange comprising identifying a degree of impairment.
 10. The method ofclaim 1, further comprising configuring the transmitting modem to nottransmit on impaired frequencies.
 11. A method of modifyingcommunications performance, the method comprising: configuring areceiving modem to communicate over a media network comprising atransmission medium; receiving a signal containing data that istransmitted by a transmitting system; dynamically reconfiguring thereceiving modem and transmission characteristics of the transmittingsystem across the media network comprising the transmission medium toperform additional processing on a received signal containing data andsubsequent received signals containing data by: constructing a frequencydomain equalizer comprising frequency domain coefficients from areceived preamble of a received signal and a known transmitted preambleof a transmitted signal; and determining, a priori using the knowntransmitted preamble of the transmitted signal, a filter applied in afrequency domain to the calculated frequency domain coefficients of thefrequency domain equalizer to modify performance of the frequency domainequalizer.
 12. The method of claim 11, wherein the received preamble ofthe received signal and the known transmitted preamble of thetransmitted signal each comprise one of the group consisting of apreamble at a beginning the received signal, a preamble of a data frame,and a preamble of packets of data.
 13. The method of claim 11, whereinthe received preamble of the received signal and the known transmittedpreamble of the transmitted signal each comprise a preamble at abeginning of a data packet.
 14. The method of claim 11, whereinmodifying performance of the frequency domain equalizer compriseszeroing lowest power frequency points, relative to other portions of afrequency band of the transmitted signal, corresponding to a part of thefrequency band of the transmitted signal.
 15. The method of claim 11,wherein the filter is a window applied by a multiplication operation inthe frequency domain.
 16. The method of claim 11, wherein the filter isapplied by a convolution operation in the frequency domain.
 17. Themethod of claim 11, wherein filter is a finite impulse response (FIR)filter applied by a convolution operation in the frequency domain. 18.The method of claim 11, wherein the filter is an infinite impulseresponse (IIR) filter applied by a convolution operation in thefrequency domain.
 19. A system for enabling communications, the systemcomprising: a transmitting modem configured to communicate over a medianetwork comprising a transmission medium, and wherein the transmittingmodem transmits a signal comprising data packets with designatedtransmission characteristics; at least one receiving modem configured tocommunicate over the transmission medium; digital signal processingcircuitry related to the at least one receiving modem configured toprocess the signal comprising data packets with designated transmissioncharacteristics; and wherein the system receives, from the at least onereceiving modem in response to processing transmitted data packets, anacknowledgment message comprising information indicating a measure ofperformance for transmitted data packets and adjusts, dynamically, thedesignated transmission characteristics and the transmitting modemconfiguration in response to the information received in theacknowledgement message to modify performance of the transmitting modemand the at least one receiving modem across the media network comprisingthe transmission medium to perform further processing on one or more ofthe group consisting of the signal, data packets and data frames andsubsequently continue to perform processing on one or more of the groupconsisting of received signals, data frames and data packets.
 20. Thesystem of claim 19, wherein the designated transmission characteristicscomprise symbol configuration and transmitter gain, and wherein theinformation indicating a measure of performance for transmitted datapackets comprises one or more of the group consisting of the number ofblocks correctly received, the bit error rate, and any other industrystandard measure of performance related to forward error correctionincluding combinations thereof.